export * from './crud'

import { find, FindType as _FindType } from './find'

export const FindType_Name = 'FindType'

export type FindType = _FindType

import {
  removeById,
  RemoveByIdType as _RemoveByIdType,
  removeByIds,
  RemoveByIdsType as _RemoveByIdsType,
  remove,
  RemoveType as _RemoveType
} from './remove'

export const RemoveByIdType_Name = 'RemoveByIdType'
export const RemoveByIdsType_Name = 'RemoveByIdsType'
export const RemoveType_Name = 'RemoveType'

export type RemoveByIdType = _RemoveByIdType
export type RemoveByIdsType = _RemoveByIdsType
export type RemoveType = _RemoveType

import { save, SaveType as _SaveType, saveBatch, SaveBatchType as _SaveBatchType } from './save'

export const SaveType_Name = 'SaveType'
export const SaveBatchType_Name = 'SaveBatchType'

export type SaveType = _SaveType
export type SaveBatchType = _SaveBatchType

export const PouchDBUtil_Name = 'PouchDBUtil'

export const PouchDBUtil: {
  find: FindType
  removeById: RemoveByIdType
  removeByIds: RemoveByIdsType
  remove: RemoveType
  save: SaveType
  saveBatch: SaveBatchType
} = {
  find,
  removeById,
  removeByIds,
  remove,
  save,
  saveBatch
}
